FROM python:3.12.1

# 设置代理环境变量
ENV http_proxy=http://10.237.14.172:1080
ENV https_proxy=http://10.237.14.172:1080

WORKDIR /app

# 创建必要的目录并设置权限
RUN mkdir -p /app/.cache/pypoetry/virtualenvs && \
    mkdir -p /app/.poetry && \
    mkdir -p /app/downloads && \
    chown -R 1200:1201 /app

# 使用代理安装 poetry
RUN pip install --proxy http://10.237.14.172:1080 poetry

# 复制项目文件
COPY pyproject.toml poetry.lock ./
COPY app ./app

# 设置 Poetry 环境变量
ENV POETRY_HOME=/app/.poetry
ENV POETRY_CACHE_DIR=/app/.cache/pypoetry
ENV POETRY_VIRTUALENVS_PATH=/app/.cache/pypoetry/virtualenvs
ENV PATH="/app/.poetry/bin:$PATH"

# 安装依赖（使用环境变量中的代理）
RUN poetry config virtualenvs.create false \
    && poetry install --no-interaction --no-ansi

# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 清除代理设置（避免影响运行时）
ENV http_proxy=
ENV https_proxy=

# 暴露端口
EXPOSE 8000

# 启动命令将在 docker-compose 中定义
